<?php
/**
 * 访问者模式跟策略模式好像，都是实体类依赖外部实体的算法
 * 但是对于策略模式，首先你有一堆算法，然后在不同的逻辑中实现；对于访问者模式实体的结构是稳定的但是结构中的算法是多变的
 * User: 16
 * Date: 2018/9/18
 * Time: 10:57
 */
error_reporting(-1);
ini_set('display_errors', 1);

spl_autoload_register("autoload");

function autoload($class)
{
    require dirname($_SERVER['SCRIPT_FILENAME']) . '//..//' . str_replace('\\', '/', $class) . '.php';
}

use visitor\Person;
use visitor\VisitorAsia;
use visitor\VisitorAmerica;

$person = new Person();
$person->eat(new VisitorAmerica());
$person->eat(new VisitorAsia());